package com.nifostasky.swing;

import org.springframework.stereotype.Component;

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * swing主界面
 */
//@Component
public class IndexSwingPage extends JFrame{
    Container container = null;
    JLabel jl = null;
//    URL url = IndexSwingPage.class.getResource("/images/teamcenter_app_32.gif");
//    URL url = new URL("C:\\测试文件\\图片\\OIP-C (4).jpg");
    URL url = new URL("https://profile.csdnimg.cn/7/E/0/0_qq_44230266");

    public IndexSwingPage() throws MalformedURLException {
        container = this.getContentPane();
        jl = new JLabel("这是一个JFrame窗体");
        //使标签上的文字居中
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        //将标签添加到容器中
        container.add(jl);
        //设置容器的背景颜色
        container.setBackground(Color.white);
        //设置窗体大小
        this.setSize(700, 500);
        //设置窗体关闭方式
        //1.不做任何反应。 * 2.仅仅隐藏。 * 3.关闭窗口。 * 4.关闭窗口，并结束所有线程。 * 注意：默认是2，你会发现窗口虽然不见了，但在任务管理器中还存在，这将导致springIoc容器不能自动清理关闭
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        ImageIcon icon = new ImageIcon(url);
        // 为标签设置图片
        jl.setIcon(icon);

        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.out.println("管理");
                //do something
            };
        });
        init();
    }

    public void init() {
        //设置图标
        setIcon();
        //使窗体可视
        this.setVisible(true);
    }

    void setIcon() {
        Image icon = Toolkit.getDefaultToolkit().getImage(url);
        this.setIconImage(icon);
    }
}
